package com.itheima.utils;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.itheima.constant.RedisConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;

/**
 * @description: 阿里的文件管理
 * @author: wangjingliang
 * @create: 2019-11-12 22:23
 **/
public class ALiYunUtils {
    // Endpoint以杭州为例，其它Region请按实际情况填写。

    public  static String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    // 云账号AccessKey有所有API访问权限，建议遵循阿里云安全最佳实践，创建并使用RAM子账号进行API访问或日常运维，请登录 https://ram.console.aliyun.com 创建。
    public  static  String accessKeyId = "LTAI4FicqshVWkTMq4yvYGK4";
    public  static String accessKeySecret = "6ZQjSD8jfeqFpmhk6k2LcQgUPgSc6D";
    public static  String bucketName = "wangjingliang";
    //删除单个文件
    public static void deleteFile(String objectName ){

// 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// 删除文件。如需删除文件夹，请将ObjectName设置为对应的文件夹名称。如果文件夹非空，则需要将文件夹下的所有object删除后才能删除该文件夹。
        ossClient.deleteObject(bucketName, objectName);

// 关闭OSSClient。
        ossClient.shutdown();
    }

    public static void update ( String fileName, MultipartFile imgFile) throws IOException {

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

        //https://wangjingliang.oss-cn-hangzhou.aliyuncs.com/38401a3dced64ac0b376d2bf532583fd.png
        //http://wangjingliang.oss-cn-hangzhou.aliyuncs.com/8a555a4035f34edfabf1e877cef24f4b.png

        // 上传文件流。
        InputStream inputStream = imgFile.getInputStream();
        ossClient.putObject(bucketName, fileName, inputStream);

        // 关闭OSSClient。
        ossClient.shutdown();
    }

}
